package com.daisuxia.web.service;

import java.util.HashMap;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.daisuxia.web.dao.IIndexDao;
import com.daisuxia.web.pojo.BorrowOrder;
import com.daisuxia.web.pojo.InfoImage;
import com.daisuxia.web.pojo.InfoIndex;
import com.daisuxia.web.pojo.InfoIndexInfo;
import com.daisuxia.web.pojo.InfoNotice;
import com.daisuxia.web.pojo.User;
import com.daisuxia.web.pojo.index.IndexDto;
import com.daisuxia.web.util.IndexUtil;

@Service
public class IndexService implements IIndexService {
	
	@Autowired
	private IIndexDao indexDao;
	@Autowired
	private IRepaymentService repaymentService;
	/**
	 * 查询首页内容
	 * @param map
	 * @return
	 */
	public InfoIndex searchInfoIndex(HashMap<String,Object> map){
		return this.indexDao.searchInfoIndex(map);
	}
	/**
	 * 查询公告
	 * @param map
	 * @return
	 */
	public List<InfoNotice> searchInfoNoticeByIndex(HashMap<String,Object> map){
		return this.indexDao.searchInfoNoticeByIndex(map);
	}
	/**
	 * 保存首页信息
	 * @param indexDto
	 */
	public void saveIndexDto(IndexDto indexDto){
		this.indexDao.saveIndexDto(indexDto);
	}
	/**
	 * 查询首页信息
	 * @param map
	 * @return
	 */
	public IndexDto searchIndexDto(HashMap<String,Object> map){
		return this.indexDao.searchIndexDto(map);
	}
	/**
	 * 动态查询用户信息
	 * @param map
	 * @return
	 */
	public InfoIndexInfo searchInfoIndexInfo(HashMap<String,Object> map){
		return this.indexDao.searchInfoIndexInfo(map);
	}
	/**
	 * 获取默认信息
	 * @return
	 */
	public String getDefaultJson(){
//		return "{\"message\":\"访问首页成功\",\"data\":{\"user_loan_log_list\":[\"尾号7403，正常还款，成功提额至1100元\",\"尾号8637，成功借款1100元，申请至放款耗时5分钟\",\"尾号5041，正常还款，成功提额至1100元\",\"尾号5938，成功借款1000元，申请至放款耗时5分钟\",\"尾号8203，正常还款，成功提额至1100元\",\"尾号3982，成功借款1000元，申请至放款耗时6分钟\",\"尾号2571，成功借款1000元，申请至放款耗时3分钟\",\"尾号9262，正常还款，成功提额至1200元\",\"尾号7565，成功借款1000元，申请至放款耗时4分钟\",\"尾号3166，成功借款1000元，申请至放款耗时5分钟\"],\"amount_days_list\":{\"amounts\":[\"20000\",\"30000\",\"40000\",\"50000\",\"60000\",\"70000\",\"80000\",\"90000\",\"100000\"],\"days\":[\"7\",\"14\"],\"interests\":[\"9800\",\"15000\"]},\"item\":{\"verify_loan_pass\":0,\"card_title\":\"贷速侠\",\"card_amount\":\"100000\",\"card_verify_step\":\"认证0/5\"},\"today_last_amount\":\"123400\"},\"code\":\"0\"}";
		return "{\"message\":\"访问首页成功\",\"data\":{\"user_loan_log_list\":[\"尾号2269，正常还款，成功提额至1050元\",\"尾号6547，成功借款1000元，申请至放款耗时3分钟\",\"尾号2265，成功借款1000元，申请至放款耗时4分钟\",\"尾号3313，正常还款，成功提额至1050元\",\"尾号3369，成功借款1000元，申请至放款耗时3分钟\",\"尾号1225，正常还款，成功提额至1050元\",\"尾号6681，成功借款1000元，申请至放款耗时3分钟\",\"尾号5423，成功借款1000元，申请至放款耗时4分钟\",\"尾号3212，正常还款，成功提额至1050元\",\"尾号7634，成功借款1000元，申请至放款耗时5分钟\"],\"index_images\":[{\"title\":\"首页活动一\",\"sort\":\"1\",\"reurl\":\"https://api.daisuxia.com/api/gotoDrawAwardsIndex\",\"url\":\"https://api.daisuxia.com/api/common/web/images/index_banner1.png\"}],\"amount_days_list\":{\"amounts\":[\"20000\",\"30000\",\"40000\",\"50000\",\"60000\",\"70000\",\"80000\",\"90000\",\"100000\",\"110000\",\"120000\",\"130000\",\"140000\",\"150000\",\"160000\",\"170000\",\"180000\",\"190000\",\"200000\"],\"days\":[\"14\"],\"interests\":[\"49000\",\"75000\"]},\"item\":{\"verify_loan_pass\":0,\"card_title\":\"贷速侠\",\"card_amount\":\"1000000\",\"card_verify_step\":\"认证0/5\",\"verify_loan_nums\":\"0\"},\"today_last_amount\":\"001630\"},\"code\":\"0\"}";
	}
	/**
	 * 获取用户借款信息
	 * @param userId
	 * @return
	 */
	public String getLoanInfos(InfoIndexInfo indexInfo){
		HashMap<String,Object> orderMap = new HashMap<String,Object>();
		orderMap.put("USER_ID", indexInfo.getUserId());
		BorrowOrder bo = this.indexDao.searchBorrowOrderByIndex(orderMap);
		return IndexUtil.getLoanInfos(indexInfo, bo,repaymentService);
	}
	/**
	 * 根据用户ID存放
	 * @param indexInfo
	 * @return
	 */
	public int updateIndexInfoByUserId(InfoIndexInfo indexInfo) {
		return indexDao.updateIndexInfoByUserId(indexInfo);
	}
	
	/**
	 * 处理button按钮事件
	 * @param map
	 */
	public void updateInfoUserInfoBorrowStatus(HashMap<String,Object> map){
		this.indexDao.updateInfoUserInfoBorrowStatus(map);
	}
	
	/**
	 * 查询user
	 * @param map
	 * @return
	 */
	public User searchUserByIndex(HashMap<String,Object> map){
		return this.indexDao.searchUserByIndex(map);
	}
	/**
	 * 查询首页图片
	 * @param map
	 * @return
	 */
	public List<InfoImage> searchInfoImage(HashMap<String,Object> map){
		return this.indexDao.searchInfoImage(map);
	}

}
